package com.ftg.learn.lesson3;

/**
 * 学习一下双层循环
 *
 * @author kangjx
 * @version 1.0
 * @date 2023/6/13 下午1:09
 */
public class LearnDoubleLoop01 {

    /**
     * 分治思想 :
     * *
     * **
     * ***
     * ****
     * *****
     * 第一种方案
     */
    /**
     * 一行要打印几个星星
     *
     * @param num 几个
     */
    public static void printLineWithStar(int num) {
        for (int i = 0; i < num; i++) {
            System.out.print("*\t");
        }
    }

    /**
     * 调用上面的方法几次，调一次
     *
     * @param row
     */
    public static void printManyLine(int row) {
        for (int i = 0; i < row; i++) {
            printLineWithStar(i + 1);
            System.out.println();
        }
    }


    /**
     * 学校当中你 c 应该会学过的一种方案
     */
    public static void printStar01() {
        // X轴问题 1 2 3 4 5
        // Y轴问题 5
        for (int y = 0; y < 5; y++) {

            for (int x = 0; x <= y; x++) {
                //几列
                System.out.print("*\t");
            }
            System.out.println();
        }
    }

    /**
     * 平面图形
     * x y
     */
    public static void printStar011() {
        for (int i = 0; i < 5; i++) {
            for (int i1 = 0; i1 < 5; i1++) {
                System.out.print(i1 < 4 - i ? " \t" : "*\t");
            }
            System.out.println();
        }
    }

    public static void print99() {
        for (int i = 0; i < 9; i++) {
            for (int i1 = 0; i1 < 9; i1++) {
                boolean t = i == 0 || i == 8 || i1 == 0 || i1 == 8 || i == i1 || i1 == 8 - i;
                System.out.print(t ? "*\t" : " \t");
            }
            System.out.println();
        }
    }

    /**
     * 第一题
     */
    public static void print1() {
        for (int i = 0; i < 5; i++) {
            for (int i1 = 0; i1 < 5; i1++) {
                boolean t = i1 <= i;
                System.out.print(t ? "*\t" : " \t");
            }
            System.out.println();
        }
    }

    public static void print2() {
        for (int i = 0; i < 5; i++) {
            for (int i1 = 0; i1 < 5; i1++) {
                boolean t = i1 < 5 - i;
                System.out.print(t ? "*\t" : " \t");
            }
            System.out.println();
        }
    }

    public static void print3() {
        for (int i = 0; i < 5; i++) {
            for (int i1 = 0; i1 < 5; i1++) {
                boolean t = i1 < i;
                System.out.print(t ? " \t" : "*\t");
            }
            System.out.println();
        }
    }

    public static void print4() {
        for (int i = 0; i < 5; i++) {
            for (int i1 = 0; i1 < 5; i1++) {
                boolean t = i1 >= 4 - i;
                System.out.print(t ? "*\t" : " \t");
            }
            System.out.println();
        }
    }


    public static void print4111() {
        for (int i = 0; i < 5; i++) {
            for (int i1 = 0; i1 < 9; i1++) {
                if (i < 4 && i1 < 4 - i ) {
                    System.out.print(" \t");
                }else if(i < 4 && i1 > 4+i){
                    System.out.print(" \t");
                }else {
                    System.out.print("*\t");
                }
            }
            System.out.println();
        }
    }

    public static void print4112() {
        for (int i = 0; i < 5; i++) {
            for (int i1 = 0; i1 < 9; i1++) {
                boolean t = i1 < 4 - i  || i1 > 4+i;
                System.out.print(t?" \t":"*\t");
            }
            System.out.println();
        }
    }


    //1 5 * 5 平面
    //1.1 第一行最后一行打印星星
    //1.2 第一列最后一列打印星得
    //1.3 双对角线
    //1 2 3 4

    public static void main(String[] args) {
        print4112();
        /**
         * 方法调用
         */
        print1();
        print2();
        System.out.println();
        print3();
        print4();
    }


}
